import { Component, OnInit } from '@angular/core';
import { MessagesService } from 'src/app/benshuo/services/messages.service';
import { QueryOptions } from 'src/app/benshuo/util/model/query-options';
import { STColumn } from '@delon/abc';
import { MessagesDTO } from 'src/app/benshuo/model/messages-dto';
import { ObjectUtil } from 'src/app/benshuo/util/data/object-util';
import { TABLE_PARAMETER } from 'src/app/benshuo/util/data/table-parameter';

@Component({
  selector: 'app-messages-show',
  templateUrl: './messages-show.component.html',
  styleUrls: ['./messages-show.component.less'],
})
export class MessagesShowComponent implements OnInit {
  /**
   * 表格数据
   */
  tableData: Array<MessagesDTO>;

  /**
   * 调用api
   */
  spinning = false;

  /**
   * 企业名称
   */
  name = '';

  /**
   * 类型
   */
  type = '';

  /**
   * 类别
   */
  categories = [{ id: 0, text: '全部', value: false }];

  /**
   * 企业下拉
   */
  listData = [];

  constructor(private service: MessagesService) {}

  ngOnInit() {
    this.load();
  }

  load(): void {
    // this.spinning = true;
    // this.service.getAll(this.name, this.type).subscribe(
    //   data => {
    //     this.tableData = data;
    //     const map = {};
    //     const dest = [];
    //     data.forEach(item => {
    //       if (!map[item.type]) {
    //         dest.push({
    //           id: item.type,
    //           text: item.type,
    //           value: false,
    //         });
    //         map[item.type] = item;
    //       } else {
    //         dest.forEach(it => {
    //           if (it.type === item.type) {
    //             it.lst.push(item);
    //           }
    //         });
    //       }
    //     });
    //     const map1 = {};
    //     const dest1 = [];
    //     data.forEach(item => {
    //       if (!map1[item.enterprise]) {
    //         dest1.push({
    //           id: item.enterprise,
    //           text: item.enterprise,
    //         });
    //         map1[item.type] = item;
    //       } else {
    //         dest1.forEach(it => {
    //           if (it.enterprise === item.enterprise) {
    //             it.lst.push(item);
    //           }
    //         });
    //       }
    //     });
    //     this.categories = dest;
    //     this.listData = dest1;
    //   },
    //   () => {
    //     this.afterApi();
    //   },
    //   () => {
    //     this.afterApi();
    //   },
    // );
  }

  changeCategory(status: boolean, idx: number, text: string) {
    this.categories.map(i => (i.value = false));

    this.categories[idx].value = status;
    this.type = text;
  }

  /**
   * 搜索
   */
  serach() {
    this.spinning = true;
    this.service.getAll(this.name, this.type).subscribe(
      data => {
        this.tableData = data;
      },
      () => {
        this.afterApi();
      },
      () => {
        this.afterApi();
      },
    );
  }

  afterApi() {
    this.spinning = false;
  }

  /**
   * 重置
   */
  reset() {
    this.name = null;
    this.type = '';
    this.serach();
  }
}
